package com.muyu.util;

import com.muyu.api.exception.BusinessException;
import com.muyu.api.model.enums.ApiStatusEnum;
import org.springframework.stereotype.Component;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;

/**
 * @ClassName: BaseDao
 * @Author: Zirun.Xin
 * @Date: 2025/4/16 上午9:28
 * @Version: 1.0
 * @Description: 持久层基类
 */
@Component
public class BaseDao {

    /**
     * 获取连接
     * @param url 数据库url
     * @param userName 数据库连接用户名
     * @param passWord 数据库连接密码
     * @param driverClass 数据库驱动
     * @return 数据库连接
     */
    public Connection getConn(String url, String userName, String passWord, String driverClass) {
        // 声明数据库对象连接
        Connection conn = null;

        try {
            // 加载驱动
            Class.forName(driverClass);

            // 初始化数据库连接，获取连接对象
            conn = DriverManager.getConnection(url, userName, passWord);
        } catch (ClassNotFoundException | SQLException e) {

            throw BusinessException.of(ApiStatusEnum.INTERNAL_ERROR);
        }

        return conn;
    }
}
